/**
 * 
 */
package com.sx.form.ts.dao;

import java.util.List;

import com.sx.article.entity.AttachmentEntity;
import com.sx.feesunit.exception.SXException;
import com.sx.form.ts.entity.HouseInfoAndAttachment;
import com.sx.form.ts.entity.HouseInfoAndRegion;
import com.sx.form.ts.entity.HouseInfoEntity;

/**
 * @author Administrator
 *
 */
public interface IHouseInfoDao {
	/**
	 * 删除房源信息
	 **/
	public boolean deleteHouseInfoById(HouseInfoEntity houseinfo);
	/**
	 *按附件编号删除房源与附件关联信息 
	 **/
	public boolean deleteHouseInfoAndKeyImageInfo(Integer fid);
	/**
	 *按附件编号删除房源与附件关联信息 
	 **/
	public boolean deleteHouseInfoAndAttachmentInfo(Integer fid);
	/**
	 * 按编号查询房源信息
	 * 带分页信息
	 **/
	public HouseInfoEntity getHouseInfoById(HouseInfoEntity houseinfo);
	/**
	 * 获取房源数量
	 * @throws SXException
	 **/
	public Integer  findHouseInfoCount(HouseInfoEntity houseinfo);
	/**
	 * 获取房源信息
	 * @throws SXException
	 **/
	public List<HouseInfoEntity> findHouseInfo(HouseInfoEntity houseinfo,String queryinfo);
	/**
	 * 获取房源信息
	 * @throws SXException
	 **/
	public List<HouseInfoEntity> findHouseInfo(HouseInfoEntity houseinfo);
	/**
	 *为房源添加区域关联信息
	 **/
	public Integer addHouseInfoCascadeRegion(HouseInfoEntity houseinfo);
	/**
	 *为房源添加附件关联信息
	 **/
	public Integer addHouseInfoCascadeFileIdInfo(HouseInfoAndAttachment hiaa);
	/**
	 *暂存一个房源信息 
	 **/
	public Integer addHouseInfoDraft(HouseInfoEntity houseinfo);
	/**
	 *修改一个房源信息 
	 **/
	public boolean editHouseInfo(HouseInfoEntity houseinfo);
	/**
	 *批量为房源添加附件关联信息 
	 *@param HouseInfoEntity houseinfo,
	 *@param List<AttachmentEntity> attachment
	 **/
	public boolean addHouseInfoCascadeFileIdInfo(HouseInfoEntity houseinfo,List<AttachmentEntity> attachments);
	/**
	 *批量为房源添加房屋特色关联信息 
	 *@param HouseInfoEntity houseinfo,
	 *@param Integer[] ids
	 **/
	public boolean addHouseInfoCascadeSpecial(HouseInfoEntity houseinfo,Integer[] ids);
	/**
	 *房源添加关键图片关联信息 
	 *@param HouseInfoEntity houseinfo,
	 *@param AttachmentEntity keyimage
	 **/
	public boolean addHouseInfoCascadeKeyImageInfo(HouseInfoEntity houseinfo,AttachmentEntity keyimage);
	
	
	
	
}
